package com.lh.jianzhioffer.专项练习.字符串;

import java.util.Arrays;
import java.util.HashMap;
import java.util.Map;

/**
 * @author: linghao
 * @since: 2023/3/18
 *
 * 给定两个字符串 s 和 t ，编写一个函数来判断它们是不是一组变位词（字母异位词）。
 *
 * 注意：若 s 和 t 中每个字符出现的次数都相同且字符顺序不完全相同，则称 s 和 t 互为变位词（字母异位词）
 *
 * 方法一：排序
 * 方法二：hash ，s串在hash中统计数，t串在hash依据s的统计结果碰到就减少一个，如果没有小于0的就是。否则不是
 *
 */
public class 有效的变位词032 {

    public boolean isAnagram(String s, String t) {
        if(s == null || t==null)return false;
        if(s.length() != t.length() ||s.equals(t))return false;
        char[] str1 = s.toCharArray();
        char[] str2 = t.toCharArray();
        Arrays.sort(str1);
        Arrays.sort(str2);
        if (Arrays.equals(str1,str2))return true;
        return false;
    }
}
